perm filename SCOR5.MAN[MU5,LCS] blob
sn#153744 filedate 1977-03-17 generic text, type T, neo UTF8
********** SCOR5.MAN (APPENDIX TO SCORE.MAN) (6/74) ************
THE PROGRAM 'SCOR5' CREATES NOTE LISTS FOR MUSIC5, PASS 3.
THE MAIN DIFFERENCES BETWEEN THIS AND THE PDP10 SCORE PROGRAM ARE AS
FOLLOWS. THERE ARE NO INTERACTIVE FEATURES, NO LITERAL STRINGS MAY
BE USED AND THE "INVISIBLE" FEATURE IS NOT YET CHECKED OUT.
ALMOST ALL CARDS (OR LINES) SHOULD END WITH A SEMICOLON.
COMMENTS MAY BE TYPED AFTER ANY ";" WHICH APPEARS AT
LEAST THREE SPACES IN.
THE FIRST CARDS SHOULD CONTAIN ALL INST. AND 'GEN' INFORMATION. (SEE
PG.13) SEVERAL ITEMS OF 'INS' DATA, SEPARATED BY SLASHES, MAY APPEAR
ON A SINGLE LINE.
; A COMMENT MAY APPEAR HERE.
INS 0 1/OSC P5 P6 B2 F4 V2/AD2 B2 P8 B2/OSC B2 P9 B2 F2;
OUT B2,B1/END/INS 0 2/ - - ETC.
EACH 'GEN' DEFINITION MUST BEGIN A NEW LINE AND EACH ONE
MUST!! END WITH *; .(NO SLASHES MAY BE USED IN 'GEN' DEFINITIONS.)
GEN 0 1 1 0 0 .999 256 .5 300 .2 400;
0 511*;
GEN 0 2 1 .5 2*;
ALL PARAM NUMBERS IN INSTRUMENTS MUST BE 2 LESS THAN THOSE
GIVEN FOR PASS1 IN MUSIC5.(THUS THEY CONFORM TO MUS10 CONVENTIONS.
STORAGE PARAMS FOR OSC, ENV, RAN AND RAH MAY BE OMITTED IF DESIRED.
AFTER ALL INSTRUMENTS AND 'GENS' ARE DEFINED ENTER THE FOLLOWING:
SCORE N1,N2,N3,N4,N5,N6;
N1=NUM FOR RANDOM NUM GENERATOR.
N2=TEMPO FACTOR (SEE PAGE 11).
N3=AMPLITDUE FACTOR (SEE PAGE 12).
N4=SECONDS TO BE OMITTED (SEE P12).
N5=SPECIAL DURATION (SEE PG 12).
N6=DEBUG(IF.NE.0, ENTIRE 'V'ARRAY PRINTS)
ALL NUMBERS MAY BE OMITTED. THEN N1=1, N2=1, N3=1, N4=0,
N5=DUR SET IN NOTE LIST.
******* SECTION 2 *********
ALL INSTRUMENTS WILL BE REFERRED TO BY NAME (NOT NUMBER).
***** I (RESET INS NUM-NAME RELATIONSHIP) *****
NORMALLY INSTRUMENTS ARE NUMBERED ACCORDING TO THE ORDER IN WHICH
THEIR NAMES FIRST APPEAR (BELOW THE WORD 'SCORE'.)
THE INST NAMES CAN BE MADE TO REFER TO OTHER INST NUMBERS BY
INSERTING THE CARD 'IN;' WHERE N IS THE NEW INST NUMBER. IN THE
FOLLOWING EXAMPLE IT IS ASSUMED THAT ONLY 2 INSTS (1 AND 2) HAVE BEEN
DEFINED.
SCORE ; ZAP ;
BUZZ ; I1; USES INS 1'S DEFINITION.
HISS ; --
ZAP ; --
TOOT ; END ;
TOOT ;
I2; USES INS 2'S DEFINITION
--
END ;
THE FUNCTIONS OF THE MUSIC5 'CONVT' SUBROUTINE ARE CARRIED OUT
AUTOMATICALLY BY INSERTING THE THE CODES 'DUR' OR 'FREQ' IN THE AREA
JUST AFTER PARAMETER NUMBERS ARE GIVEN (i.e. BEFORE THE FIRST SLASH
OR ;).
P2 WILL ALWAYS! BE CONVERTED AS A DURATION. (NO 'DUR' IS NEEDED'.)
P5 .73 DUR; P5 WILL BE .73 UNTIL CHANGED.
'DUR' CONVERTS AS A DURATION.
P6 100.2 FREQ; 'FREQ' DOES PROPER CONVERSION
AS A FREQUENCY INPUT.
P7 200; IF NO 'DUR' OR 'FREQ', THE # IS
TAKEN AS AN AMPLITUDE.
P3 CS5; P3 WILL HAVE C# OF THE 5TH OCTAVE.
(NOTES OF THE TEMPERED
SCALE USED ARE FROM C1(=LOWEST C
ON PIANO KEYBOARD) TO
B7(=HIGHEST B). S=#, F=FLAT.
NOTE NAMES ARE AUTOMATICALLY CONVERTED
AS FREQUENCIES.
******* SECTION 3 ********
ANY PARAMETER NUMBER THAT IS OMITTED IN THE DATA LIST WILL PRINT AS A
ZERO. HOWEVER THE HIGHEST PARAMETER NUMBER USED IN THE NOTE LIST MUST
APPEAR EVEN IF ITS INPUT IS TO BE A ZERO.
EXAMPLE: BUZZ ;
P2 1; ALL P2 VALUES ARE AUTOMATICALLY
CONVERTED AS DURATIONS.
P3 C4;
P5 100; P4 WILL BE ZERO
P7 0; P6 WILL ALSO BE ZERO
END
******** SLASHES **********
MANY ITEMS MAY BE PUT ON ONE CARD. SLASHES MUST SEPARATE THE
ITEMS AND THE LINE MUST END WITH A ';'.
EXAMPLE: BUZZ /P2 1/P3 C4 /P5 100/P7 0/END;
ZAP /P5 .73 DUR/P6 100.2 FREQ;
IF FUNCTION NUMBERS ARE TO BE USED, SET THEM UP SIMPLY AS A LIST OF
NUMBERS. CONVERSION AS A DURATION OR FREQUENCY IS AUTOMATIC WITH ALL
REPEAT FEATURES.
***** NO 'LIT' ITEMS MAY BE USED IN SCOR5 *****
THE " CANNOT BE USED IN SCOR5 SINCE MUSIC5 DOES NOT ACCEPT
EXPRESSIONS.
ALSO FUNCTIONS SHOULD BE REFERRED TO BY NUMBER ONLY WHEN BEING
SET IN SCOR5.
********* SECTION 4 **********
XXXXX AUTOMATIC REPEAT OF P2 DATA XXXXX
DO NOT USE P2 IN INSTRUMENT DEFINITIONS!! ANY UNIT GENERATORS THAT
ARE TO OPERATE ONCE THROUGH A FUNCTION IN A SINGLE NOTE DURATION
SHOULD HAVE AS THE TIME PARAMETER NUMBER A NUMBER 1 HIGHER THAN THE
HIGHEST USED IN THE DATA LIST.
EXAMPLE: IF P7 IS HIGHEST P IN DATA LIST, P8 WILL BE USED ON RIGHT
SIDE INPUT TO AN OSCIL PRODUCING AN ENVELOPE. P8 WILL NOT PRINT AS A
SCORE ITEM SINCE IT WILL DUPLICATE P2.
***** SUBR(SUBROUTINE) *****
FOR SUBROUTINE CALLS IN SCOR5 USE ONLY THE THE CODE WORD 'SUBR'.
A SUBROUTINE MAY BE ADDED TO THE 'SCORE' PROGRAM TO SET VALUES FOR P2
THROUGH P30. THIS SUBROUTINE MAY BE CALLED FROM SEVERAL DIFFERENT
PARAMETERS. THE HEADING FOR THE SUBROUTINE MUST BE EXACTLY AS
FOLLOWS:
SUBROUTINE SUBR
COMMON P(30),INST,IPAR,CNT(25),BT,IREST,CVT(25),PL(30),DF
C INST=INST #. IPAR=PARAM #. QQ=BASIC TIME P1.
C DF=DUTY FACT. WHEN SUBROUTINE IS CALLED
C IF IREST IS -1, THAT NOTE WILL BE A REST.
C NOTE #S IN SUBROUTINE: (1-84) C4=37 FS4=43 C5=49
IF NOTE NUMBERS ARE USED SET PL(IPAR)=2., CVT(IPAR)=-1.
FOR ALL FREQUENCY CONVERSIONS SET CVT(IPAR)=-1.
FOR ALL DURATION CONVERSIONS SET CVT(IPAR)=1. (AMPL.-- CVT(IPAR)=0)
IF THE LAST PARAMETER OF AN INSTRUMENT CALLS THE SUBROUTINE, ALL
THE OTHER PARAMETERS MAY BE RESET IN RELATION TO EACH OTHER IN ANY
WAY SEEN FIT.
********** SECTION 5 **********
********** GEN AND VAR **********
IF ANY FUNCTIONS OR VARIABLES ARE TO BE REDEFINED IN THE COURSE OF A
SCORE, THE WORD 'GEN' OR 'VAR' MAY BE ENTERED AFTER ANY DUMMY
INSTRUMENT NAME SO AS TO CAUSE PARAMETER DATA IN THE PROPER FORMAT
FOR GEN OR VAR TO BE CREATED. P2 WILL NOT BE WRITTEN AND P3 WILL BE
RESERVED FOR THE 'GEN' TYPE NUMBER OR 1ST VARIABLE NUMBER AND P4 WILL
BE THE FUNCTION NUMBER OR VALUE OF 1ST VARIABLE.
EXAMPLE: DUM1 GEN 0 20; GENS WILL BE WRITTEN OVER 20" OF TIME
P2 1; WILL CHANGE EVERY SECOND
P3 2; IT WILL BE A 'GEN 2'
P4 6; WILL DEFINE F6
P5 .3; % OF 1ST HARM.
P7 .5; % OF 3RD HARM. (P6=0% OF 2ND HARM.)
P8 MO;
20 0 .5*; 4TH HARM MOVES FROM 0 TO 5% IN 20".
P9 4; TELLS HOW MANY HARMONICS ARE USED.
END
OR -- ALL THESE MAY APPEAR ON TWO CARDS:
DUM1 GEN 0 20 / P2 1/ P3 2/ P4 6/ P5 .3/ P7 .5;
P8 MO/ 20 0 .5*/P9 4/ END;
EXAMPLE: DUM2 VAR 0 15 /P2 .5/P3 10/P4 NUM/10/20/30*;
P5 1 100,500 FREQ/END;
ABOVE, V10 IS 1ST VARIABLE.
V10 AND V11 WILL CHANGE EVERY .5".
****** NOTE THAT GEN OR VAR 'INSTRUMENTS' WILL OCCUPY ORDINARY
POSITIONS IN THE INSTRUMENT NUMBER LIST. TO AVOID CONFUSION IT IS
BEST TO PUT ALL DUMMY INSTRUMENTS AT THE END OF YOUR INPUT.
******** SECTION 6 *********
XXXXX TF XXXXX
THE 'TEMPO FACTOR' CONTROLS ALL REAL TIME ELEMENTS IN THE SCORE.
IF IT IS SET TO 2, ALL P1 AND P2 TIME WILL MOVE TWICE AS FAST.
(I.E. THE TIME VALUES WILL BE CUT IN HALF.) IF IT IS SET
TO .333, ALL TIME WILL BE 3 TIMES AS LONG, ETC.
'TF' IS SET AT 1 (OR MM=60) UNLESS CHANGED ON THE 'SCORE' CARD.
(SEE PAGE 1.)
THE TIME VALUES PRINTED AT THE TOP OF THE SCORE
ARE AFFECTED BY THE OVERALL TEMPO FACTOR.
IF THE DURATION OF AN INSTRUMENT IS SET IN SECONDS(BASIC TIME) AND P2
REMAINS CONSTANT, TF=2 WOULD CAUSE THE REAL TIME DURATIONS TO BE CUT
IN HALF.
SEE PAGE 1 FOR USE OF 'TF' ON 'SCORE' CARD.
XXXXX AMPFAC XXXXX
THIS CONTROLS THE VALUES IN P4 ONLY. IF AMPLITUDE DATA OCCURS IN
OTHER PARAMETERS LEAVE AMPFAC AT 1. IF YOU SET AMPFAC (N4) AT 1.5,
ALL P4 NUMBERS WILL BE INCREASED BY 50%.
IF AMPFAC IS TO BE CHANGED BUT NOT 'TF' ETC., A 1 OR 0 MUST APPEAR
FOR 'TF'.
EXAMPLE: SCORE 1 1 1.5 ;
XXXXX OMIT XXXXX
USE THIS FOR TESTING SMALL SECTIONS OF LONG NOTE
LISTS. EXAMPLE: SUPPOSE YOU WISH TO RUN ONLY 5 SECONDS
FROM THE END OF A 25" LIST.
EXAMPLE: SCORE 0 0 0 20;ZEROS WILL GIVE PROPER NUMS.
THE 'TEMPO FACTOR' DOES NOT INTERACT WITH 'OMIT' OR 'DURATION'.
IF YOU USE 'TF' AND 'OMIT' TOGETHER, FIRST GET A LISTING
WITH 'TF' SET AS YOU WISH IT, THEN SET 'OMIT' ACCORDING
TO THOSE TIME VALUES.
XXXXX DURATION XXXXX
IF YOU WISH TO SET THE ACTUAL REAL TIME DURATION TO SOMETHING LESS THAN
THAT GIVEN IN THE INPUT LIST TYPE THE NEW DURATION AS THE SIXTH
NUMBER. TO PLAY THE FIRST 10" OF A 25" NOTE LIST TYPE:
SCORE 0 0 0 0 10 ;
TO PLAY THE SECTION FROM REAL TIME 6.2" TO 12.35" TYPE:
SCORE 0 0 0 6.2 12.23;
********* SECTION 7 ********
** THE FOLLOWING INCLUDES MOST OF THE FEATURES DISCUSSED ABOVE.**
SRT 20000; SET SAMPLING RATE TO 20000
INS 0 1; INSTRUMENT 1
OSC P4 P5 B2 F1;
OSC B2 P3 B2 F2;
OUT B2 B1/END; ALL PARAM NUMS ARE 2 LESS THAN IN BOOK!
INS 0 2; INST 2
SET P3; P3 CAN CHANGE FUNC IN NEXT UNIT GENERATOR.
OSC P12 P4 B2 F12/AD2 P5 B2 B2/ENV P3 F1 B2 P7 P8 P9;
AD3 P5 B2 P6 B2;
MLT P5 B2 B3/RAN P4 B2 B4/RAH P5 B3 B2/STR B2 B3 B2/END ;
GEN 0 1 1 .5 0 .99 25;
-.5 128 0 256 1 511*; GEN INPUT MUST ALWAYS START NEW LINE!
GEN 0 2 2 .3 .5 0 .4 4*; F2 , 3 HARMONICS (1,2,4)
GEN 0 3 3 1 -1*; F3 PUTS LINE FROM 1 TO -1 IN 511 STEPS
SCORE ; THIS WORD MUST!! APPEAR AFTER INSTS AND GENS ARE SET UP.
BLANK CARDS MAY COME INSTEAD OF INST NAMES OR
PARAM #S AFTER THIS POINT.
BUZZ ; INSTRUMENT 1=BUZZ, BEGIN TIME=0",
DURATION=# OF NOTES IN 'NOTES' (P3).
P2 RHY; RHY=NEXT ENTRIES WILL BE IN TERMS OF MUSICAL RHYTHM.
4/8/16/1/-8; QUARTER NOTE, EIGHTH, SIXTEENTH, WHOLE, EIGHTH REST
4,8/1,16; DOTTED QUARTER, WHOLE TIED TO SIXTEENTH
8,16 X 5/2 X 3; FIVE DOTTED EIGHTHS, THREE HALF NOTES
-12/20; 12=EIGHTH NOTE TRIPLET(1/12 OF A WHOLE), 20=1/5 OF A QUARTER
4//8///-8,-16; TWO QUARTERS, THREE EIGHTHS, A DOTTED EIGHTH REST
16//4/8,16/REP 3,2*; THE PREVIOUS 4 ENTRIES WILL PLAY 2 TIMES
P3 NOTES; NOTES OF THE TEMPERED SCALE MAY BE ENTERED
C1/CS/D; C1=LOWEST C ON PIANO KEYBOARD. S=SHARP. F=FLAT.
DS/E; THE OCTAVE RANGE WILL REMAIN THE SAME UNTIL CHANGED.
FS4/DS/C/R; F# ABOVE MIDDLE C, D#, MIDDLE C, R=REST.
CS5//D///; TWO C#'S IN 5TH OCTAVE, FOUR D'S.
C3/G/E/G/REP 4,3; THE PATTERN IS PLAYED 3 TIMES.
REP 27,2; EVERYTHING THUS FAR WILL REPEAT.
FS6 X 4/FINE*; 4 F#'S, 'END' MARKS CONCLUSION FOR BUZZ.
P4 NUM; A LIST OF NUMBERS WILL BE ENTERED.
100//200/300 X 4; A TOTAL OF SEVEN NUMBERS.
50/REP 3,2/9999.02; THE SEQUENCE 300,300,50 WILL PLAY TWICE.
REP 12,3; THE ENTIRE STRING OF NUMBERS ENTERED WILL PLAY 3 TIMES.
END; END OF LIST.
9999.02 WILL CAUSE THE DATA OF P2 TO APPEAR AT THAT POINT.
P10 .5 .1,.2 .5 .5,1 DUR; RAN. SEL. OF DURATIONS
P8 MOVE; TO MOVE FROM ONE NUMBER TO ANOTHER OVER A GIVEN DURATION.
5 10 150; DURING 5" P8 WILL CHANGE FROM 10 TO 150.
3 80 43*; DURING NEXT 3", FROM 80 TO 43.
P9 MOVE;
6 CS5 F4*; DURING 6" P9 WILL MOVE DOWN FROM C# TO F#.
; AFTER 6" IT WILL STAY ON F#.
P6 MOVE FREQ; WILL CONVERT NUMBERS AS FREQUENCIES.
20 10,40 100,400; IF THERE ARE 5 NUMBERS THE LAST TWO PAIRS WILL BE
10 30,100 30,30*; RANDOM SELECTION RANGES. (SEE COMMENTS)
P7 MOVE;
11.4 C2,F2 G3,C5; MOVING RANGES OF RANDOM SELECTION OF
TEMPERED NOTES.
3 A4,A4 A4,A4; STAYS ON A FOR 3".
5 A4,A4 C2,F2*; RETURNS TO RANGE OF DEPARTURE.
OCTAVE NUMBERS MUST ALWAYS BE GIVEN WITH 'MOVE'.
END ; ENDS ENTRIES FOR THIS INSTRUMENT AT THIS BEGIN TIME.
BUZZ 7.5; ENTRIES BEGINNING AT TIME 7.5"
P8 263.5 FREQ; THIS NUMBER WILL REPEAT FOR EACH NOTE UNTIL CHANGED.
P9 AS3; " NOTE " " " " " " "
IF PARAM NUMBERS ARE SKIPPED, THEY WILL PRINT OUT AS ZEROS.
NEXT GIVES RANDOM SELECTION WITHIN SPECIFIED RANGES.
30% CHANCE BETWEEN 1&4, 22% BETWEEN 10&15, ETC.
P13 .3 1,4 .22 10,15 .18 20,30 .3 55,55;(P13 WAS 0 UNTIL NOW.)
NEXT GIVES RANDOM SELECTION OF TEMPERED NOTES.
P15 .1 CS3,F3 .5 C4,DS4 .4 FS6,B6;
P16 1 10,20 DUR; 100% OF THE TIME, A NUMBER BETWEEN 10 AND 20.
P10 9999.02; THIS REPEATS DATA OF P2
END ; ENDS ENTRIES FOR BUZZ AT TIME 7.5"
TOOT 0 2,15; INST 2=TOOT, BEGIN TIME=0",
2,15 MEANS INST2 WILL PLAY 15 NOTES.
P2 REP; WILL REPEAT DATA OF PREVIOUS INSTRUMENT
FOR THIS PARAM NUMBER.
P3 REP 9; REPEATS P9 OF PREVIOUS INSTRUMENT.
P5 REP 3,2; REPEATS P3 OF INSTRUMENT 2.(I.E. TOOT.
JUST ';' DOES THE SAME.)
P6 REP 6,1 ALL; WILL REPEAT P6 OF INST 1 IN THIS AND
ALL HIGHER NUMBERED INSTRUMENTS.
CLAR 2 9.45; BEGIN TIME=2", DUR=9.45".
I1; CLAR WILL HAVE SAME DEFINITION AS INS 1.
P2 RHY/TEMPO; TEMPO WILL BE SET FOR THIS INSTRUMENT INDIVIDUALLY.
7 84 112; MOVES FROM MM=84 TO MM=112 DURING 7".(7 QUARTER NOTES)
11.3 112 46; RETARDS TO MM=46 DURING 11.3".
1 96 96*; ABRUPTLY SHIFTS TO MM=96 AND STAYS THERE.
4 X 7/8,16/16/REP 2,15; '*;' ENDS 'TEMPO' ENTRIES.
P3 C4/P4 100/P5 ; WILL REPEAT DATA OF PARAM JUST ABOVE.
(DON'T USE WITH P31-32)
P32 MOVE; (THE ABOVE = REP 3,4;)
4 .1 .5; RANDOM RESTS WILL CHANGE FROM 10% TO 50% IN 4".
3 .6 0*; " " " " " 60% TO 0% IN 3".
END ;
ZAP 0 8; INST 4=ZAP, BEGIN TIME=0", DURATION=8".
I2; ZAP HAS SAME DEFINITION AS INS 2.
DUPL 2; WILL DUPLICATE ALL DATA OF INST 2 (TOOT) THUS FAR ENTERED.
P4 123/END; P4 IS RESET IMMEDIATELY.
TOOT 2,5; NEXT ENTRIES BEGIN ON NOTE 5 OF INSTRUMENT 2.
P7 REP 4,3; DATA OF P4, INST 3 WILL BE REPEATED.
P10 SUBR; WILL CALL A SUBROUTINE. CVT(IPAR) MUST BE SET IN SUBR.
P11 SUBR/END; " " " " " " " .
DUMA GEN 0 30; WILL REDEFINE GENS AS INDICATED.
P2 NUM DUR; SETS HOW OFTEN GEN IS REDEFINED.
1//.5//.2/*;
P3 1; SETS GEN NUM.
P4 5; SETS FUNC NUM.
P6 0;
P8 MO; P5,P6,P7=0
20 505 5*; P8 MOVES FROM 505 TO 5 IN 20"
P9 1/P10 511/END ;
DUMA 20/P9 .4/P10 384/P11 1/P12 511/END;
ANOTHER STEP HAS BEEN ADDED TO GEN.
DUMB GEN 0 20;
P2 REP 2,2/P3 2; GEN 2 --- FOR SINE WAVES
P4 6; FUNC 6
P5 MOV/20 1 .2*; PERCENT OF 1ST HARM DIMINISHES
P6 MOV/20 1 .2*; " " 2ND " "
P7 MOV/20 0 .3*; " " 3RD " INCREASES
P8 MOV/20 .2 .5*; " " 4TH " "
P9 4/END ;
TEMPO; 'TEMPO' CHANGES OUTSIDE OF A PARTICULAR INST WILL AFFECT
11 72 144; P2 FOR ALL INSTRUMENTS.
BE SURE TO CHECK ANY TIME FACTORS
6 144 108; IN OTHER PARAMS AND ALL DATA ENTRIES
5 108; WHICH ARE TIME DEPENDENT.
72*;
TEMPO WILL REMAIN AT MM=72.
RUN;
********** INDEX **********
AMPLITUDE FACTOR . . 1
COMMENTS . . . 1
CONVERSIONS . . . 2
CVT . . . 4
DUR . . . 2
FREQ . . . 2
FUNCTIONS . . . 3
GEN . . . 1,5
INS NUM . . . 1,2
P2 . . . 4
OMIT . . . 1,6
SAMPLING RATE . . . 1
SUBR . . . 4
TF . . . 1,6
VAR . . . 5